<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var nums = [8,4,2,6,3,7,1,5,9]; // 0,1,2,3,4,5,6,7,8,
        document.write('开始',nums,'<br />')
        // n 数字 需要进行排序 
        // 找到n个元素中最小的那个元素 跟下标0的位置进行调换

        // n-1 个元素中 找到最小值 跟下标1 的位置进行调换 

        // n-2个元素中 找到最小值  跟下标2 的位置进行调换

        //第1轮 

        var minIndex = 0
        for(var i=1;i<nums.length;i++){
            if(nums[i]<nums[minIndex]){
                minIndex = i
            }
        }

        // 将最小值 跟下标 0位置的数字进行交换位置 

        var tmp = nums[0];
        nums[0] = nums[minIndex]
        nums[minIndex]  = tmp;


        document.write('第一轮结束',nums,'<br />')

        
        //第2轮 

        var minIndex = 1
        for(var i=2;i<nums.length;i++){
            if(nums[i]<nums[minIndex]){
                minIndex = i
            }
        }

        // 将最小值 跟下标 0位置的数字进行交换位置 

        var tmp = nums[1];
        nums[1] = nums[minIndex]
        nums[minIndex]  = tmp;

        document.write('第2轮结束',nums,'<br />')


         //第3轮 

         var minIndex = 2
        for(var i=3;i<nums.length;i++){
            if(nums[i]<nums[minIndex]){
                minIndex = i
            }
        }


        var tmp = nums[2];
        nums[2] = nums[minIndex]
        nums[minIndex]  = tmp;

        document.write('第3轮结束',nums,'<br />')
         //第4轮 

         var minIndex = 3
        for(var i=4;i<nums.length;i++){
            if(nums[i]<nums[minIndex]){
                minIndex = i
            }
        }

        var tmp = nums[3];
        nums[3] = nums[minIndex]
        nums[minIndex]  = tmp;

        document.write('第4轮结束',nums,'<br />')




        // 将最小值 跟下标 0位置的数字进行交换位置 

        var tmp = nums[2];
        nums[2] = nums[minIndex]
        nums[minIndex]  = tmp;

        document.write('第3轮结束',nums,'<br />')


        // 第几轮   假设最小索引的值  循环开始  和谁交换
        //  1            0              1         0
        //  2            1              2         1
        //  3            2              3         2

        for(var j=0;j<nums.length-1;j++){
            // 假设j下标所在的位置数字最小
            var minIndex = j;
            for(var i=j+1;i<nums.length;i++){
                if(nums[i] < nums[minIndex]){
                        minIndex = i;
                }
            }
            var tmp = nums[j];
            nums[j] = nums[minIndex];
            nums[minIndex] = tmp;
        }

        console.log('选择排序之后的:',nums)
    </script>
</body>
</html>